Ziggurat Revisited
نویسنده
چکیده
Random numbers following a Standard Normal distribution are of great importance when using simulations as a means for investigation. The Ziggurat method (Marsaglia and Tsang, 2000; Leong, Zhang, Lee, Luk, and Villasenor, 2005) is one of the fastest methods to generate normally distributed random numbers while also providing excellent statistical properties. This note provides an updated implementations of the Ziggurat generator suitable for 32and 64-bit operating system. It compares the original implementations to several popular Open Source implementations. A new implementation embeds the generator into an appropriate C++ class structure. The performance of the different generator is investigated both via extended timing and through a series of statistical tests, including a suggested new test for testing Normal deviates directly. Integration into other systems such as R is discussed as well.
منابع مشابه
A modified ziggurat algorithm for generating exponentially- and normally-distributed pseudorandom numbers
The Ziggurat Algorithm is a very fast rejection sampling method for generating PseudoRandom Numbers (PRNs) from statistical distributions. In the algorithm, rectangular sampling domains are layered on top of each other (resembling a ziggurat) to encapsulate the desired probability density function. Random values within these layers are sampled and then returned if they lie beneath the graph of ...
متن کاملA Comment on the Implementation of the Ziggurat Method
We show that the short period of the uniform random number generator in the published implementation of Marsaglia and Tsang’s Ziggurat method for generating random deviates can lead to poor distributions. Changing the uniform random number generator used in its implementation fixes this issue.
متن کاملZiggurat: A new data model and indexing format for large annotated text corpora
The IMS Open Corpus Workbench (CWB) software currently uses a simple tabular data model with proven limitations. We outline and justify the need for a new data model to underlie the next major version of CWB. This data model, dubbed Ziggurat, defines a series of types of data layer to represent different structures and relations within an annotated corpus; each such layer may contain variables ...
متن کاملZiggurat: Steps Toward a General Episodic Memory
Evidence indicates that episodic memory plays an important role in general cognition. A modest body of research exists for creating artificial episodic memory systems. To date, research has focused on exploring their benefits. As a result, existing episodic memory systems rely on a small, relevant memory cue for effective memory retrieval. We present Ziggurat, a domain-independent episodic memo...
متن کاملBuilding language towers with Ziggurat
Ziggurat is a meta-language system that permits programmers to develop Scheme-like macros for languages with nontrivial static semantics, such as C or Java (suitably encoded in an S-expression concrete syntax). Ziggurat permits language designers to construct “towers” of language levels with macros; each level in the tower may have its own static semantics, such as type systems or flow analyses...
متن کامل